console.log(test);

function test(test) {
    console.log(test);
    var test = 'it666';
    console.log(test);

    function test() {

    }


}
test(1);
var test = 'itzb';

/**
 * 预编译过程
 * 
 * 1.全局对象GO
 * 1.1变量提升
 * GO{
 * test:undefined
 * }
 * 1.2函数声明
 * GO{
 * test:function test(){}
 * }
 * 
 * //全局GO预编译结束,执行第一行代码输出 [Function:test]
 * 
 * 2.test()方法 AO预编译
 * 2.1 形参和变量声明
 * AO{
 *  test:undefined
 * }
 * 2.2形参实参统一
 * AO{
 * test:1
 * }
 * 2.3函数声明
 * AO{
 * test:function test(){}
 * }
 * 
 * test()方法预编译结束,开始执行代码
 * //输出[Function:test]
 * test = 'it666'
 * //输出it666
 */